/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package manager.modulo.ordemservico.enumerator;

import java.util.LinkedList;

/**
 *
 * @author THIAGO
 */
public class EnumAvaliacaoOrdemServico {

    public enum AvaliacaoOS {

        MUITOBOM,
        BOM,
        REGULAR,
        PESSIMO,
        NAOENCONTRADO
    }

    public static AvaliacaoOS ConverterNumeroEnum(int numero) {
        switch (numero) {
            case 3:
                return AvaliacaoOS.MUITOBOM;
            case 2:
                return AvaliacaoOS.BOM;
            case 1:
                return AvaliacaoOS.REGULAR;
            case 0:
                return AvaliacaoOS.PESSIMO;
            default:
                return AvaliacaoOS.NAOENCONTRADO;
        }
    }

    public static int ConverterEnumNumero(AvaliacaoOS avaliacaoOS) {
        switch (avaliacaoOS) {
            case MUITOBOM:
                return 3;
            case BOM:
                return 2;
            case REGULAR:
                return 1;
            case PESSIMO:
                return 0;
            default:
                return -1;
        }
    }

    public static String ConvertEnumString(AvaliacaoOS avaliacaoOS) {
        switch (avaliacaoOS) {
             case MUITOBOM:
                return "MUITO BOM";
            case BOM:
                return "BOM";
            case REGULAR:
                return "REGULAR";
            case PESSIMO:
                return "PÉSSIMO";
            default:
                return "NÃO ENCONTRADO";
        }
    }

    public static AvaliacaoOS ConvertStringEnum(String avaliacao) {
        if (avaliacao.equalsIgnoreCase(EnumAvaliacaoOrdemServico.ConvertEnumString(AvaliacaoOS.MUITOBOM))) {
            return AvaliacaoOS.MUITOBOM;
        } else if (avaliacao.equalsIgnoreCase(EnumAvaliacaoOrdemServico.ConvertEnumString(AvaliacaoOS.BOM))) {
            return AvaliacaoOS.BOM;
        } else if (avaliacao.equalsIgnoreCase(EnumAvaliacaoOrdemServico.ConvertEnumString(AvaliacaoOS.REGULAR))) {
            return AvaliacaoOS.REGULAR;
        } else if (avaliacao.equalsIgnoreCase(EnumAvaliacaoOrdemServico.ConvertEnumString(AvaliacaoOS.PESSIMO))) {
            return AvaliacaoOS.PESSIMO;
        } else {
            return AvaliacaoOS.NAOENCONTRADO;
        }
    }

    public static LinkedList<AvaliacaoOS> ListaEnum() {
        LinkedList<AvaliacaoOS> listaEnum = new LinkedList<AvaliacaoOS>();
        listaEnum.add(AvaliacaoOS.MUITOBOM);
        listaEnum.add(AvaliacaoOS.BOM);
        listaEnum.add(AvaliacaoOS.REGULAR);
        listaEnum.add(AvaliacaoOS.PESSIMO);
        return listaEnum;
    }
}
